// 1.导入所有的 svg 图标
// 2.完成 SvgIcon 的全局注册

import SvgIcon from '@/components/SvgIcon'

// element-plus icons
import { Delete, Close, Plus } from '@element-plus/icons-vue'

// https://webpack.docschina.org/guides/dependency-management/#requirecontext
// 通过 require.context() 函数来创建自己的 context
const svgRequire = require.context('./svg', false, /\.svg$/)

// 此时返回一个 require 的函数，可以接受一个 request 的参数，用于 require 的导入。
// 该函数提供了三个属性，可以通过 require.keys() 获取到所有的 svg 图标
// 遍历图标，把图标作为 request 传入到 require 导入函数中，完成本地 svg 图标的导入
svgRequire.keys().forEach((svgIcon) => svgRequire(svgIcon))

export default (app) => {
  // 组件名字，组件实例
  app.component('svg-icon', SvgIcon)

  // 全局注册选定的图标
  app.component('el-icon-delete', Delete)
  app.component('el-icon-close', Close)
  app.component('el-icon-plus', Plus)
}